class Solution {
    public int maxValue(int[][] grid) {
        //行
        int m = grid.length;
        //列
        int n = grid[0].length;
        int temMax = grid[0][0];
        for(int i = 1;i<n;i++) {
            grid[0][i] += grid[0][i-1] ;
        }
        for(int i = 1;i<m;i++) {
            grid[i][0] += grid[i-1][0];
        }
        for(int i = 1;i<m;i++) {
            for(int j = 1;j<n;j++) {
                grid[i][j] += Math.max(grid[i-1][j],grid[i][j-1]);
            }
        }
        return grid[m-1][n-1];
    }
}